package cn.itcast.mapper;

import cn.itcast.pojo.Dept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.*;

import java.util.List;

/*
    如何发现数据库的字段和java的属性没有对上
    第一种方案: 给字段起别名, 让其和java属性对上(不推荐)
        @Select("select *,create_time as createTime , update_time  as updateTime  from dept")
    第二种方法: 可以使用mybatis的注解@Results和@Result进行对话
        @Results({
                @Result(column = "create_time",property = "createTime"),
                @Result(column = "update_time",property = "updateTime")
        })
    第三种方式: 要求我们都遵守规范
        java的属性一定要符合小驼峰, sql字段多个单词使用下划线隔开!!!!
        然后在配置文件中, 告知mybatis, 驼峰和下划线之间的转换规则
        mybatis:
          configuration:
            map-underscore-to-camel-case: true
 */
public interface DeptMapper extends BaseMapper<Dept> {

   /* @Select("select * from dept")
    List<Dept> selectAll();

    @Delete("delete from dept where id = #{id}")
    void deleteById(Integer id);

    //@Insert("insert into dept set name = #{name}")
    @Insert("insert into dept(name,create_time,update_time) values(#{name},#{createTime},#{updateTime})")
    int insertByName(Dept dept);

    @Select("select * from dept where id = #{id}")
    Dept findById(Integer id);


    @Update("update dept set name = #{name},update_time = #{updateTime} where id = #{id}")
    int updateById(Dept dept);*/
}
